/**
 * 给定一个数字，我们按照如下规则把它翻译为字符串：
 *
 * 0 翻译成 “a” ，1 翻译成 “b”，……，11 翻译成 “l”，……，25 翻译成 “z”。
 *
 * 一个数字可能有多个翻译。请编程实现一个函数，用来计算一个数字有多少种不同的翻译方法
 */
public class Test_offer_46 {
    public static void main(String[] args) {
        System.out.println(translateNum(605));
    }
    public static int translateNum(int num) {
        String s = " "+num;
        int n0 = 1;
        int n1 = 1;
        int ret = 1;

        for (int i = 2; i < s.length(); i++) {
            ret = n1;
            int number = Integer.parseInt(s.substring(i-1,i+1));
            if (number<=25 && number>=10){
                ret += n0;
            }
            n0 = n1;
            n1 = ret;
        }
        return ret;
    }
}
